查看原文
其他

【Python量化投资】对数周期幂率(LPPL)模型在A股中应用

2016-09-19 JasonYichuan 量化投资与机器学习

查看之前文章请点击右上角,关注并且查看历史消息所有文章全部分类和整理,让您更方便查找阅读。请在页面菜单里查找。



感谢【优矿社区】【量化投资与机器学习】公众号进行友好合作。


引言

虽然离开物理专业有好几年了,但一直有些念念不忘,码着代码,写着开题报告,又闲不住想来讲一个没有好奇心的物理学家不是好金融学家的故事。


发现金融泡沫并预测到其何时破裂是很多从事金融行业的人的梦想。如今中国股市也成为了热门的话题,然而,资本狂欢之后是股灾,多少人因此从千万富翁炒股变成百万富翁,预测泡沫是所有人的梦想。


我们的主角Sornette教授登场了。Didier Sornette是一位受过培训的统计物理学家和地球物理学家,目前在瑞士联邦理工学院苏黎世分校(Swiss Federal Institute of Technology in Zurich)任金融学教授,主讲创业风险。他似乎并没有因外界对这种综合学科研究方法的热情有所减弱而感到烦恼。相反,他还在做自己大部分职业生涯一直在做的事:不仅在主要物理期刊上发表文章,还在领先的金融期刊上发表文章。


Sornette教授开始尝试着解答这个问题——不是通过传统的金融学方法,而是将物理学思想引入其中。作为2004年出版的《股市为什么会崩盘》(Why Stock Markets Crash)一书的作者,Sornette教授实质上是希望更深刻地理解泡沫的形成和发展。在对复杂体系的分析中,他独自——或者是和极少数几个人一起——引领着三个并行领域:纯物理学、应用经济学和计量经济学,以及市场从业人员。


在《股市为什么会崩盘》一书中,Sornette教授全面分析了一个由其提出的预测市场泡沫的模型——对数周期幂律(LPPL)模型。该模型对之后许多次市场泡沫都进行了准确的预测,由于该模型由Johansen,Ledoit和Sornette共同提出并完善,因此也被称为JLS模型。我们来聊一聊它。


什么是对数周期幂率模型?


作为纯物理学家的Sornettee教授不甘于仅仅在物理学领域有所建树,他还看到了金光闪闪的华尔街,在那里,各类炼金术师在寻找各种允许少数人持续获利的方法。于是,Sornettee教授在金融领域的跨界之旅开始了。他脑洞大开,想将物理学模型延伸到金融学领域中,而他找到的第一把金光闪闪的钥匙叫做易辛模型——一种描述物质铁磁性的经典模型。简单地说,易辛模型认为单个原子的磁矩只可能有两种状态,+1(自旋向上)或者-1(自旋向下),原子以某种规则排列着,并存在着交互作用,使得相邻之间的原子的自旋互相影响。


Sornette教授的眼睛仿佛一下子充满了光芒,他仿佛看到了美元纸币上的林肯在向他招手。受易辛模型启发,Sornette教授认为在金融市场中,投资者也只具有两种状态,即买或者卖。同时,投资者的交易行为取决于其他投资者的决策及外部因素的影响,这与易辛模型是多么的相似!


假想我们处于这样的一个市场中:资产没有派息、银行利率为零、市场极度厌恶风险,并且市场有着充足的流动性。显然,在这个市场中的金融资产没有任何价值,也就是其基础价值为零。在这样的框架内,市场中出现两类投资者,如上文所说,一类是理性投资者,一类是非理性的噪声投资者。后者具有羊群效应,使得金融资产价格偏离其基础价值,在没有足够的做空机制下,该结果导致理性投资者也不得不跟随噪声投资者的行为,通过享受泡沫来获得收益。最终当趋势达到某一临界值时,大量投资者没有足够的头寸维持该趋势,于是手中的卖单导致了市场的崩盘。


那么这是一个怎样的趋势呢?Sornette教授考虑了自激励的正反馈过程的思想,而该过程会导致大量交易者的行为方式逐渐趋于一致。在经过一些推导之后,Sornette教授发现该趋势是按对数周期幂律(LPPL)增长,这里给出唯一的也是最重要的公式。


这里不去探讨该公式的具体意义,让我们看一下它的样子。


  • 可以看到,随着时间增长,资产价格有着近似指数增长的特点,但同时也伴随着不断的振荡,随着时间越来越接近临界时间,振荡的幅度逐渐减小,增长速度逐渐增大,进入超指数的增长状态,最终市场在临界时间点附近崩盘。通过该模型,人们可以提前获知可能的临界时间点来规避风险。该模型曾成功预测了2008年的石油泡沫,美国房地产泡沫,以及2009 年中国股市泡沫等。


然而,试图根据泡沫迹象采取行动的交易员,现在或许会非常失望。正如Sornette教授自己承认的,其理论实际上旨在估计这种泡沫的存在时间,而过早退出市场将是个错误,很可能会损失大量资金,然而离开过晚就不是几个人失去工作的事了。事实上,该模型并没有考虑交易者以外的因素,比如政策层面或者市场情绪等因素,但将金融系统认为是一个复杂系统并加以研究的思想是深远的。现在也有许多将语义情绪分析等类似机器学习的方法应用于模型中来对市场状态进行分析。


毫无疑问,更多地了解泡沫的形成和发展,价值是无法估量的。关注经济和金融以外的领域有助于拓展思路,但不要指望找到一个指导市场交易的万能公式。

LPPL模型收到的批评与收到的赞扬一样多,有不少人认为该模型没有操作价值。如果你想了解更多关于它的信息,可以仔细详读。


最后,如果你有好奇心,那么你一定想知道LPPL模型的实战结果到底如何。下面我用优矿再现了LPPL模型预测2015年夏天A股市场的泡沫。

P.S 这次股灾虽然我逃顶了,也许我马后炮了~ :)

  • 使用DataAPI.MktIdxdGet()函数获取上证指数201411日至2015610日的指数信息(股灾发生在约一星期后)。lib库我也放在了文章最后,大家可以尝试着使用。特别感谢jd8001,用于拟合的GA算法的核心代码框架来自于他,我对参数设置做了细致的调整,以让它更好的符合A股市场,最后我友好地加上了一些注释。

  • 高清源代码请点击文末阅读原文



夏天股灾期间A股市场的走势:


模型预测的临界时间(Critical Time)为365,即为6月10日(350)之后的15个交易日左右。实际股灾时间为6月15日(353),比实际结果晚10个交易日左右。

延续至今的走势:



听说,置顶关注我们的人都不一般


后台回复下列关键字

更多惊喜在等着【区分大小写】

1.回复每周论文 获取Market Making论文分享

2. 回复matlab量化投资 获取大量源码

3. 回复每周书籍 获取国外书籍电子版

4. 回复文本挖掘 获取关于文本挖掘的资料

5. 回复金融数学 获取金融数学藏书

6. 回复贝叶斯Matlab 获取NBM详解与具体应用

7.回复AdaBoost 获取AdaBoost算法文献、代码、研报

8.回复数据包络分析 获取选股分析源码

9.回复SVD 获取数据预处理之图像处理的方法

10.回复KNN获取kNN-最近邻居算法

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存